Algorithmic Debugging and Testing of Prolog Programs
نویسندگان
چکیده
In this paper the IDTS (Integrated Debugging, Testing and Slicing) system is presented for the algorithmic debugging and functional testing of Prolog programs. This system integrates Shapiro's Interactive Diagnosis Algorithm with the Category Partition Testing Method and a slicing technique. Shapiro's original system demands a lot of user interactions during the debugging process. The IDTS method can avoid irrelevant questions to the user by categorizing input parameters, and match there against test cases and test database. In addition, a slicing method is used to compute which parts of the program are relevant for the search. An other direction of the improvement was the development of a graphical user interface (GUI) that provides context and gives the user more information about the state of debugging process. It makes the use of the system more user friendly. 1
منابع مشابه
Debugging Prolog Programs Declaratively
Traditional declarative debuggers, despite their theoretical attractions are not considered to be practical tools for debugging of many Prolog programs. This is partly due to the fact that the basic declarative debugging system (Shapiro 83) only dealt with pure Prolog programs, and partly due to practical limitations of the suggested methods and algorithms. Our aim has been to study the applica...
متن کاملDeclarative Debugging of Lazy Functional Programs
We show how declarative (or algorithmic) debugging can be applied to lazy functional programming and describe a prototype implementation. We rst present a declarative debugger for logic programs which relies on three primitives that determine if an atom is valid in the intended interpretation, return the successful clause instance used by a call and return single atoms from a conjunction of ato...
متن کاملDebugging Constraint Programs
Constraint programming (CP) is in its substance non-algorithmic programming, not last because it is often being applied to problems for which no efficient algorithms exist. A not immediately obvious consequence of this fact is that debugging CP programs is principally different from debugging algorithmic programs, including imperative, functional or Prolog programs. It is also more difficult. M...
متن کاملMiguel Cruz Costa Calejo A Framework
This thesis describes a new approach to declarative debugging (error diagnosis) of logic programs. The main contributions are: • “Declarative source debugging”, a new approach requiring less queries from the user. • Improved algorithms for classical “declarative execution debugging”. • Support for Prolog impurities, such as cuts and side-effects. • The use of suspect trees, allowing uniform tre...
متن کاملA Logical Framework for the Algorithmic Debugging of Lazy Functional-Logic Program
Traditional debugging techniques are not well suited for lazy functional programming, because of the diicult-to-predict evaluation order. Therefore, declarative debugging techniques have been proposed, which allow to focus on the intended meaning of programs, abstracting away operational concerns. Similar techniques are known also for logic programming and for combined functional logic language...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1997